#include "DataPoint.h"
 
DataPoint::DataPoint()
{
}
 
DataPoint::DataPoint(unsigned long dpID,double* pointData , bool isKey):isKey(isKey),dpID(dpID)
{
    for(int i=0; i<DIME_NUM;i++)
    {
        this->pointData[i]=pointData[i];
    }
}
 

void DataPoint::SetData(double* pointData)
{
     for(int i=0; i<DIME_NUM;i++)
     {
         this->pointData[i]=pointData[i];
     }
}
 

double* DataPoint::GetData()
{
    return this->pointData;
}
 

bool DataPoint::IsKey()
{
    return this->isKey;
}
 

void DataPoint::SetKey(bool isKey)
{
    this->isKey = isKey;
}
 
//get data point ID
unsigned long DataPoint::GetDpId()
{
    return this->dpID;
}
 
//set data point ID
void DataPoint::SetDpId(unsigned long dpID)
{
	this->dpID = dpID;
}
 
//GetIsVisited
bool DataPoint::isVisited()
{
    return this->visited;
}
 
//SetIsVisited
void DataPoint::SetVisited( bool visited )
{
	this->visited = visited;
}
 
//Get Cluster Id
long DataPoint::GetClusterId()
{
    return this->clusterId;
}
 
//Set Cluster Id
void DataPoint::SetClusterId( long clusterId )
{
    this->clusterId = clusterId;
}
 
//Get Arrival/Neighbor Points ID
vector<unsigned long>& DataPoint::GetNeighborIds()
{
    return neighborIds;
}